---
title: Load the legacy task code table
summary: Load all LEGACY_TASK_CODE reference rows.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Business.Tasks.Claim
reference_type: embedded
operation_id: OP-16
trigger: Factory call to GetLegacyTaskCodeCollection
---

# Load the legacy task code table

Loads the entire `LEGACY_TASK_CODE` reference table via an inline, unfiltered `SELECT *`.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-16 |
| **Trigger** | Factory call to `GetLegacyTaskCodeCollection` |
| **Inputs** | none |
| **Outputs** | Populated `clsLegacyTaskCodeCollection` |
| **Primary components** | `clsLegacyTaskCodeCollection.GetLegacyTaskCodeCollection`, `BeforeRetrieve`, `AfterRetrieve` |
| **Entry point** | `SAIF.Business.Tasks.Claim/clsLegacyTaskCodeCollection.vb` |

## Steps

1. Factory builds a `Criteria(dpi)` and calls `dpi.DataAccessLayer.RetrieveObject(criteria)`.
2. `BeforeRetrieve` creates the data request and assigns `MyCriteria.RetrieveSQL` ([SQL-002](../sql/SQL-002-legacy-task-code-select.md), [LEGACY_TASK_CODE](../database-tables.md#legacy_task_code) — read-only per [BR-LTC-01](../business-rules.md#br-ltc-01-legacy-task-codes-are-read-only)).
3. `AfterRetrieve` casts the result to `IDataReader` and, for each row, creates a `clsLegacyTaskCode`, calls `Load` (which `Fill`s `Create_Date`, `Create_User`, `Date_Days_Num`, `Legacy_Task_Code`, `Notepad_Flag`, `Task_Category_Code`, `Text_Days_Num`, `Task_Text`, `Update_Date`, `Update_User`, `Use_Rundate_Flag`, builds a `Criteria`, and `MarkOld()`s the row), then adds it to the list.

## Process flow

```mermaid
flowchart TD
	Start(["GetLegacyTaskCodeCollection<br>called"]) --> S1["Build Criteria,<br>RetrieveObject"]
	S1 --> S2["BeforeRetrieve assigns<br>RetrieveSQL"]
	S2 --> S3["Execute SELECT * FROM<br>legacy_task_code"]
	S3 --> Loop{For each row}
	Loop --> S4["Create clsLegacyTaskCode,<br>Load/Fill, MarkOld"]
	S4 --> Loop
	Loop -->|Done| EndOk([Populated collection])
```

## Failure and edge-case behavior
- No branches or error handling; the collection is read-only — all write SQL properties throw `ApplicationException(clsConstants.Messages.InvalidSQLProperty)` ([BR-LTC-01](../business-rules.md#br-ltc-01-legacy-task-codes-are-read-only)).

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- SAIF.Business.Tasks.Claim/clsLegacyTaskCodeCollection.vb
- SAIF.Business.Tasks.Claim/clsLegacyTaskCode.vb
